package com.sx.sx1.lintcode.day717;

import java.util.HashSet;
import java.util.Set;

public class LC124 {
    static class Solution {
        /**
         * @param num: A list of integers
         * @return: An integer
         */
        public int longestConsecutive(int[] num) {
            Set<Integer> set =new HashSet<>();
            for (int i : num) {
                set.add(i);
            }

            int ans =0;
            for (int i : num) {
                int count =1;
                int cur =i;
                while (set.contains(cur+1)){
                    count++;
                    cur+=1;
                }

                ans=Math.max(count,ans);
            }
            return ans;
        }
    }


    public static void main(String[] args) {
        Solution o = new Solution();
        System.out.println(o.longestConsecutive(new int[]{100,4,200,1,3,2}));
    }

}


/*
LintCode-Logo
搜索题目、标签、题集
中文
您上个月的个人报告已生成，点击查看
avatar
124 · 最长连续序列
算法
中等
通过率
42%

题目
题解54
笔记
讨论99+
排名
记录
描述
给定一个未排序的整数数组num，找出最长连续序列的长度。

最短时间刷“透”算法面试：《66页算法宝典》.pdf

微信添加【jiuzhangfeifei】备注【66】领取


要求你的算法复杂度为
𝑂
(
𝑛
)
O(n)
𝑙
𝑒
𝑛
(
𝑛
𝑢
𝑚
)
<
=
10000
len(num)<=10000
样例
样例 1：

输入：

num = [100, 4, 200, 1, 3, 2]
输出：

4
解释：

这个最长的连续序列是 [1, 2, 3, 4]. 返回所求长度 4

标签
相关题目

595
二叉树最长连续序列
简单

619
二叉树的最长连续子序列III
中等
推荐课程

简历/BQ/项目 面试软技能指导
FLAG高级工程师深度BQ辅导，简历打造+1V1模拟面试，反面试套路、高效上岸！
已开启智能提示
发起考试
30 分 00 秒
123456789

控制台
        历史提交

 */